package me.zhengjie.modules.finance.factory.vo;

import me.zhengjie.tool.MyMap;
import me.zhengjie.tool.ValidateUtil;
import me.zhengjie.vo.Constant;

import java.math.BigDecimal;
import java.util.Map;

/**
 * @Author ly
 * @Description
 * @Date 20:23 2025/6/8
 **/
public class FundBillsInfoVO{
    private static final long serialVersionUID = 1234567L;
    /**数据类型-Add*/
    private String billType;
    /**银行流水号*/
    private String aaz620;
    /**财务接口ID*/
    private String baz244;
    /**险种类型*/
    private String aae140;
    /**费款所属期*/
    private Integer aae002;
    /**收支类型*/
    private String aaa039;
    /**业务处理类别*/
    private String aae710;
    /**业务处理类别*/
    private String bae710;
    /**业务款项*/
    private String aae712;
    /**业务批次号*/
    private String aaz617;
    /**单据汇总批次号*/
    private String baz617;
    /**业务支付批次号*/
    private String aaz654;
    /**批量支付流水号*/
    private String aaz618;
    /**人社流水号*/
    private String aae072;
    /**数据源表*/
    private String bae038;
    /**人社机构银行账号ID*/
    private String aaz670;
    /**人社机构银行账号*/
    private String aae722;
    /**人社机构银行户名*/
    private String aae723;
    /**当事人类别*/
    private String aaa028;
    /**当事人ID*/
    private String aaz010;
    /**当事人名称*/
    private String aae734;
    /**单位编号*/
    private String aab001;
    /**单位名称*/
    private String aab004;
    /**单位类型*/
    private String aab019;
    /**收支金额*/
    private BigDecimal aae719;
    /**证件类型*/
    private String aac058;
    /**证件号码*/
    private String aac147;
    /**基金收支方式*/
    private String aae718;
    /**银行行别代码*/
    private String aaf200;
    /**地方银行行别代码*/
    private String aaf216;
    /**地方银行名称*/
    private String aaf217;
    /**银行名称*/
    private String aae668;
    /**银行户名*/
    private String aae009;
    /**银行账号*/
    private String aae010;
    /**银行所在省*/
    private String aab362;
    /**银行所在市*/
    private String aaf056;
    /**人行支付系统行号*/
    private String aaf002;
    /**摘要*/
    private String aad128;
    /**数据状态*/
    private String aae711;
    /**到账成功标志*/
    private String aae456;
    /**锁定标志*/
    private String aae825;
    /**到账日期*/
    private String aab191;
    /**支付失败原因*/
    private String aae713;
    /**标志*/
    private String aae151;
    /**到账方式*/
    private String aae770;
    /**登账ID*/
    private String bad011;
    /**是否社银收付*/
    private String bad112;
    /**对账流水号*/
    private String aaz728;
    /**原人社流水号*/
    private String aaz749;
    /**会计核算单位*/
    private String aad146;
    /**账套类别*/
    private String aad080;
    /**备注*/
    private String aae013;
    /**参保地行政区划代码*/
    private String aab359;
    /**财务处理标志*/
    private String bad006;
    /**有效标志*/
    private String aae100;
    /**地方业务款项代码*/
    private String aae924;
    /**待遇发放方式*/
    private String aae145;
    /**当事人邮政地址*/
    private String aae006;
    /**当事人邮政编码*/
    private String aae007;
    /**地方业务款项名称*/
    private String aae925;
    /**地方扩展指标*/
    private MyMap extensionData;
    /**人数*/
    private BigDecimal aae717;

    public void dealFundBills(String baz617) {
        this.baz617 = baz617;
        this.aae711 = Constant.AAE711_1_YJS;
    }

    //获取汇总时，更新的数据
    public MyMap getUpdateMap() {
        MyMap myMap = new MyMap();
        myMap.put("baz244", baz244);
        myMap.put("aae711", aae711);
        myMap.put("bad006", bad006);
        myMap.put("aaz618", aaz618);
        myMap.put("baz617", baz617);
        myMap.put("aaz617", aaz617);
        return myMap;
    }

    //获取汇总时，更新的数据
    public MyMap getReceiveUpdateMap() {
        MyMap myMap = new MyMap();
        myMap.put("baz244", baz244);
        myMap.put("bad006", bad006);
        myMap.put("aae456", aae456);
        myMap.put("aae825", aae825);
        myMap.put("bad011", bad011);
        myMap.put("aab191", aab191);
        myMap.put("aae713", aae713);
        return myMap;
    }

    public void createAccountsInfo(String bad011,String aab191) {
        this.bad011 = bad011;
        if (ValidateUtil.isNotEmpty(aab191)) {
            this.aab191 = aab191;
        }
        if (!Constant.BAD006_09_TZDJ.equals(this.bad006)) {
            //调账单据不需要更新bad006为04
            this.bad006 = Constant.BAD006_04_YSSF;
        }
        this.aae456 = Constant.AAE456_1_S;
        this.aae711 = Constant.AAE711_1_YJS;
    }

    public FundBillsInfoVO(MyMap myMap) {
        billType = myMap.getAsString("billType"); //Add为新增
        aaz620 = myMap.getAsString("aaz620"); //银行流水号 N NUMBER
        baz244 = myMap.getAsString("baz244"); //财务接口ID N NUMBER
        aae140 = myMap.getAsString("aae140"); //险种类型 N VARCHAR2
        aae002 = myMap.getAsInteger("aae002"); //费款所属期 N NUMBER
        aaa039 = myMap.getAsString("aaa039"); //收支类型 N VARCHAR2
        aae710 = myMap.getAsString("aae710"); //业务处理类别 N VARCHAR2
        bae710 = myMap.getAsString("bae710"); //业务处理类别 N VARCHAR2
        aaz670 = myMap.getAsString("aaz670"); //人社机构银行账号 Y VARCHAR2
        aae722 = myMap.getAsString("aae722"); //人社机构银行账号 Y VARCHAR2
        aae723 = myMap.getAsString("aae723"); //人社机构银行户名 Y VARCHAR2
        aae712 = myMap.getAsString("aae712"); //业务款项 N VARCHAR2
        aaz617 = myMap.getAsString("aaz617"); //业务批次号 Y VARCHAR2
        baz617 = myMap.getAsString("baz617"); //单据汇总批次号 Y VARCHAR2
        aaz654 = myMap.getAsString("aaz654"); //业务支付批次号 Y NUMBER
        aaz618 = myMap.getAsString("aaz618"); //批量支付流水号 Y VARCHAR2
        aae072 = myMap.getAsString("aae072"); //人社流水号 N VARCHAR2
        bae038 = myMap.getAsString("bae038"); //数据源表 N VARCHAR2
        aaa028 = myMap.getAsString("aaa028"); //当事人类别 Y VARCHAR2
        aaz010 = myMap.getAsString("aaz010"); //当事人ID Y NUMBER
        aae734 = myMap.getAsString("aae734"); //当事人名称 Y VARCHAR2
        aac058 = myMap.getAsString("aac058"); //证件类型 Y VARCHAR2
        aac147 = myMap.getAsString("aac147"); //证件号码 Y VARCHAR2
        aab001 = myMap.getAsString("aab001"); //单位编号 Y NUMBER
        aab004 = myMap.getAsString("aab004"); //单位名称 Y VARCHAR2
        aae719 = myMap.getAsBigDecimal("aae719"); //收支金额 N NUMBER
        aae718 = myMap.getAsString("aae718"); //基金收支方式 Y VARCHAR2
        bad112 = myMap.getAsString("bad112"); //是否社银收付 Y VARCHAR2
        aaf200 = myMap.getAsString("aaf200"); //银行行别代码 Y VARCHAR2
        aaf216 = myMap.getAsString("aaf216"); //地方银行行别代码 Y VARCHAR2
        aaf217 = myMap.getAsString("aaf217"); //地方银行名称 Y VARCHAR2
        aae668 = myMap.getAsString("aae668"); //银行名称 Y VARCHAR2
        aae009 = myMap.getAsString("aae009"); //银行户名 Y VARCHAR2
        aae010 = myMap.getAsString("aae010"); //银行账号 Y VARCHAR2
        aab362 = myMap.getAsString("aab362"); //银行所在省 Y VARCHAR2
        aaf056 = myMap.getAsString("aaf056"); //银行所在市 Y VARCHAR2
        aaf002 = myMap.getAsString("aaf002"); //人行支付系统行号 Y VARCHAR2
        aad128 = myMap.getAsString("aad128"); //摘要 Y VARCHAR2
        aae711 = myMap.getAsString("aae711"); //数据状态 Y VARCHAR2
        aae456 = myMap.getAsString("aae456"); //到账成功标志 Y VARCHAR2
        aab191 = myMap.getAsString("aab191"); //到账日期 Y NUMBER
        aae713 = myMap.getAsString("aae713"); //支付失败原因 Y VARCHAR2
        aae151 = myMap.getAsString("aae151"); //实收分配标志 Y VARCHAR2
        aae770 = myMap.getAsString("aae770"); //到账方式 Y VARCHAR2
        aaz728 = myMap.getAsString("aaz728"); //对账流水号 Y VARCHAR2
        bad011 = myMap.getAsString("bad011"); //登账ID Y VARCHAR2
        aaz749 = myMap.getAsString("aaz749"); //原人社流水号 Y VARCHAR2
        if ("Add".equals(billType) && ValidateUtil.isEmpty(aaz749)) {
            aaz749 = aae072;
        }
        aad146 = myMap.getAsString("aad146"); //会计核算单位 Y VARCHAR2
        aad080 = myMap.getAsString("aad080"); //账套类别 Y VARCHAR2
        aae013 = myMap.getAsString("aae013"); //备注 Y VARCHAR2
        aab359 = myMap.getAsString("aab359"); //参保地行政区划代码 Y VARCHAR2
        aab019 = myMap.getAsString("aab019"); //单位类型 Y VARCHAR2
        aae100 = myMap.getAsString("aae100"); //有效标志 Y VARCHAR2
        aae825 = myMap.getAsString("aae825"); //锁定标志 Y VARCHAR2
        bad006 = myMap.getAsString("bad006"); //财务处理标志 Y VARCHAR2
        aae924 = myMap.getAsString("aae924"); //地方业务款项代码 Y VARCHAR2
        aae925 = myMap.getAsString("aae925"); //地方业务款项名称 Y VARCHAR2
        aae145 = myMap.getAsString("aae145"); //待遇发放方式 Y VARCHAR2
        aae006 = myMap.getAsString("aae006"); //当事人邮政地址 Y VARCHAR2
        aae007 = myMap.getAsString("aae007"); //当事人邮政编码 Y VARCHAR2
        if(ValidateUtil.isNotEmpty(myMap.getAsString("aae717"))){
            aae717 = new BigDecimal(myMap.getAsString("aae717")); //人数 Y VARCHAR2
        }
    }

    public FundBillsInfoVO(Map myMap) {
        billType = myMap.get("billType").toString(); //Add为新增
        aaz620 = myMap.get("aaz620").toString(); //银行流水号 N NUMBER
        baz244 = myMap.get("baz244").toString(); //财务接口ID N NUMBER
        aae140 = myMap.get("aae140").toString(); //险种类型 N VARCHAR2
        aae002 = new Integer(myMap.get("aae002").toString()); //费款所属期 N NUMBER
        aaa039 = myMap.get("aaa039").toString(); //收支类型 N VARCHAR2
        aae710 = myMap.get("aae710").toString(); //业务处理类别 N VARCHAR2
        bae710 = myMap.get("bae710").toString(); //业务处理类别 N VARCHAR2
        aaz670 = myMap.get("aaz670").toString(); //人社机构银行账号 Y VARCHAR2
        aae722 = myMap.get("aae722").toString(); //人社机构银行账号 Y VARCHAR2
        aae723 = myMap.get("aae723").toString(); //人社机构银行户名 Y VARCHAR2
        aae712 = myMap.get("aae712").toString(); //业务款项 N VARCHAR2
        aaz617 = myMap.get("aaz617").toString(); //业务批次号 Y VARCHAR2
        baz617 = myMap.get("baz617").toString(); //单据汇总批次号 Y VARCHAR2
        aaz654 = myMap.get("aaz654").toString(); //业务支付批次号 Y NUMBER
        aaz618 = myMap.get("aaz618").toString(); //批量支付流水号 Y VARCHAR2
        aae072 = myMap.get("aae072").toString(); //人社流水号 N VARCHAR2
        bae038 = myMap.get("bae038").toString(); //数据源表 N VARCHAR2
        aaa028 = myMap.get("aaa028").toString(); //当事人类别 Y VARCHAR2
        aaz010 = myMap.get("aaz010").toString(); //当事人ID Y NUMBER
        aae734 = myMap.get("aae734").toString(); //当事人名称 Y VARCHAR2
        aac058 = myMap.get("aac058").toString(); //证件类型 Y VARCHAR2
        aac147 = myMap.get("aac147").toString(); //证件号码 Y VARCHAR2
        aab001 = myMap.get("aab001").toString(); //单位编号 Y NUMBER
        aab004 = myMap.get("aab004").toString(); //单位名称 Y VARCHAR2
        aae719 = new BigDecimal(myMap.get("aae719").toString()); //收支金额 N NUMBER
        aae718 = myMap.get("aae718").toString(); //基金收支方式 Y VARCHAR2
        bad112 = myMap.get("bad112").toString(); //是否社银收付 Y VARCHAR2
        aaf200 = myMap.get("aaf200").toString(); //银行行别代码 Y VARCHAR2
        aaf216 = myMap.get("aaf216").toString(); //地方银行行别代码 Y VARCHAR2
        aaf217 = myMap.get("aaf217").toString(); //地方银行名称 Y VARCHAR2
        aae668 = myMap.get("aae668").toString(); //银行名称 Y VARCHAR2
        aae009 = myMap.get("aae009").toString(); //银行户名 Y VARCHAR2
        aae010 = myMap.get("aae010").toString(); //银行账号 Y VARCHAR2
        aab362 = myMap.get("aab362").toString(); //银行所在省 Y VARCHAR2
        aaf056 = myMap.get("aaf056").toString(); //银行所在市 Y VARCHAR2
        aaf002 = myMap.get("aaf002").toString(); //人行支付系统行号 Y VARCHAR2
        aad128 = myMap.get("aad128").toString(); //摘要 Y VARCHAR2
        aae711 = myMap.get("aae711").toString(); //数据状态 Y VARCHAR2
        aae456 = myMap.get("aae456").toString(); //到账成功标志 Y VARCHAR2
        aab191 = myMap.get("aab191").toString(); //到账日期 Y NUMBER
        aae713 = myMap.get("aae713").toString(); //支付失败原因 Y VARCHAR2
        aae151 = myMap.get("aae151").toString(); //实收分配标志 Y VARCHAR2
        aae770 = myMap.get("aae770").toString(); //到账方式 Y VARCHAR2
        aaz728 = myMap.get("aaz728").toString(); //对账流水号 Y VARCHAR2
        bad011 = myMap.get("bad011").toString(); //登账ID Y VARCHAR2
        aaz749 = myMap.get("aaz749").toString(); //原人社流水号 Y VARCHAR2
        aad146 = myMap.get("aad146").toString(); //会计核算单位 Y VARCHAR2
        aad080 = myMap.get("aad080").toString(); //账套类别 Y VARCHAR2
        aae013 = myMap.get("aae013").toString(); //备注 Y VARCHAR2
        aab359 = myMap.get("aab359").toString(); //参保地行政区划代码 Y VARCHAR2
        aab019 = myMap.get("aab019").toString(); //单位类型 Y VARCHAR2
        aae100 = myMap.get("aae100").toString(); //有效标志 Y VARCHAR2
        aae825 = myMap.get("aae825").toString(); //锁定标志 Y VARCHAR2
        bad006 = myMap.get("bad006").toString(); //财务处理标志 Y VARCHAR2
        aae924 = myMap.get("aae924").toString(); //地方业务款项代码 Y VARCHAR2
        aae925 = myMap.get("aae925").toString(); //地方业务款项名称 Y VARCHAR2
        aae145 = myMap.get("aae145").toString(); //待遇发放方式 Y VARCHAR2
        aae006 = myMap.get("aae006").toString(); //当事人邮政地址 Y VARCHAR2
        aae007 = myMap.get("aae007").toString(); //当事人邮政编码 Y VARCHAR2
        if(!ValidateUtil.isEmpty(myMap.get("aae717"))){
            aae717 = new BigDecimal(myMap.get("aae717").toString()); //人数 Y VARCHAR2
        }
    }

    public void setAae722(String aae722) {
        this.aae722 = aae722;
    }

    public void setAae723(String aae723) {
        this.aae723 = aae723;
    }

    public String getAaz620() {
        return aaz620;
    }

    public String getBaz244() {
        return baz244;
    }

    public String getAae140() {
        return aae140;
    }

    public Integer getAae002() {
        return aae002;
    }

    public String getAaa039() {
        return aaa039;
    }

    public String getAae710() {
        return aae710;
    }

    public String getAae712() {
        return aae712;
    }

    public String getAaz617() {
        return aaz617;
    }

    public String getAaz654() {
        return aaz654;
    }

    public String getAaz618() {
        return aaz618;
    }

    public String getAae072() {
        return aae072;
    }

    public String getAaa028() {
        return aaa028;
    }

    public String getAaz010() {
        return aaz010;
    }

    public String getAae734() {
        return aae734;
    }

    public void setAae734(String aae734) {
        this.aae734 = aae734;
    }

    public String getAab001() {
        return aab001;
    }

    public void setAab001(String aab001) {
        this.aab001 = aab001;
    }

    public void setAab004(String aab004) {
        this.aab004 = aab004;
    }

    public BigDecimal getAae719() {
        return aae719;
    }

    public String getAae718() {
        return aae718;
    }

    public String getAaf200() {
        return aaf200;
    }

    public String getAaf216() {
        return aaf216;
    }

    public String getAaf217() {
        return aaf217;
    }

    public String getAae668() {
        return aae668;
    }

    public String getAae009() {
        return aae009;
    }

    public String getAae010() {
        return aae010;
    }

    public String getAab362() {
        return aab362;
    }

    public String getAaf056() {
        return aaf056;
    }

    public String getAaf002() {
        return aaf002;
    }

    public String getAad128() {
        return aad128;
    }

    public String getAae711() {
        return aae711;
    }

    public String getAae456() {
        return aae456;
    }

    public String getAab191() {
        return aab191;
    }

    public String getAae713() {
        return aae713;
    }

    public String getAae151() {
        return aae151;
    }

    public String getAae770() {
        return aae770;
    }

    public String getAaz728() {
        return aaz728;
    }

    public String getAaz749() {
        return aaz749;
    }

    public String getAad146() {
        return aad146;
    }

    public String getAad080() {
        return aad080;
    }

    public String getAae013() {
        return aae013;
    }

    public String getAab359() {
        return aab359;
    }

    public void setAab359(String aab359) {
        this.aab359 = aab359;
    }

    public String getAab019() {
        return aab019;
    }

    public String getBae710() {
        return bae710;
    }

    public String getBad006() {
        return bad006;
    }

    public String getAae100() {
        return aae100;
    }

    public void setBad006(String bad006) {
        this.bad006 = bad006;
    }

    public void setAaz618(String aaz618) {
        this.aaz618 = aaz618;
    }

    public String getAae722() {
        return aae722;
    }

    public String getAae723() {
        return aae723;
    }

    public String getBae038() {
        return bae038;
    }

    public String getBad011() {
        return bad011;
    }

    public void setBad011(String bad011) {
        this.bad011 = bad011;
    }

    public String getBillType() {
        return billType;
    }

    public void setBillType(String billType) {
        this.billType = billType;
    }

    public String getAab004() {
        return aab004;
    }

    public String getAac058() {
        return aac058;
    }

    public String getAac147() {
        return aac147;
    }

    public String getBad112() {
        return bad112;
    }

    public String getAae825() {
        return aae825;
    }

    public String getAae924() {
        return aae924;
    }

    public String getAae925() {
        return aae925;
    }

    public String getAaz670() {
        return aaz670;
    }

    public void setAaz670(String aaz670) {
        this.aaz670 = aaz670;
    }

    public String getAae145() {
        return aae145;
    }

    public void setAae145(String aae145) {
        this.aae145 = aae145;
    }

    public String getAae006() {
        return aae006;
    }

    public void setAae006(String aae006) {
        this.aae006 = aae006;
    }

    public String getAae007() {
        return aae007;
    }

    public void setAae007(String aae007) {
        this.aae007 = aae007;
    }

    public String getBaz617() {
        return baz617;
    }

    public void setAaz617(String aaz617) {
        this.aaz617 = aaz617;
    }

    public MyMap getExtensionData() {
        return extensionData;
    }

    public void setExtensionData(MyMap extensionData) {
        this.extensionData = extensionData;
    }

    public BigDecimal getAae717() {
        return aae717;
    }

    public void setAae717(BigDecimal aae717) {
        this.aae717 = aae717;
    }
}
